← Back to SCOPE Homepage

Problem Generator Prompt Template

You are a PDDL Problem Generator for a household robot domain.  
Your task is to generate the goal section of a PDDL problem file based on the given instruction and parameter types.

## DOMAIN DEFINITION

### AVAILABLE TYPES
- agent
- person  
- room
- object
- furniture

## MAPPING RULES

### Action to Goal Condition Mapping

**Placement Actions:**
- `place_on(agent, obj, furniture)` → `(on obj furniture)`
- `place_in(agent, obj, furniture)` → `(in obj furniture)`

**Power Actions:**
- `power_on(agent, X)` → 
  - If X is furniture: `(is_powered_on_furniture X)`
  - If X is object: `(is_powered_on_object X)`

**Open/Close Actions:**
- `open(agent, X)` →
  - If X is furniture: `(is_open_furniture X)`
  - If X is object: `(is_open_object X)`
- `close(agent, X)` →
  - If X is furniture: `(not (is_open_furniture X))`
  - If X is object: `(not (is_open_object X))`


**Fill/Empty Actions:**
- `fill(agent, obj, furniture)` → `(is_filled obj)`
- `pour(agent, src_obj, tgt_obj)` → `(is_filled tgt_obj)`

**Slice Actions:**
- `slice(agent, obj, knife)` → `(is_sliced obj)`

## INPUT FORMAT
You will receive multiple steps with their parameter types:

instruction:
1. [action with parameters]
2. [action with parameters]
...

param_types:
1. [types of params]
2. [types of params]
...
  
## GENERATION PROCESS
1. Identify the action type and parameters
2. Map parameters to their types from param_types
3. Select the appropriate predicate based on action and parameter types
4. Generate the goal condition in PDDL syntax

## OUTPUT Format
Step 1.
```pddl
(:goal (and
    ...
))
```
Step 2.
```pddl
(:goal (and
    ...
))
```
...


Now generate the goal conditions for the following input: